python绘制对数函数 |
您所在的位置:网站首页 › python 绘制对数函数 › python绘制对数函数 |
# -*- coding: utf-8 -*-"""Created on Tue Feb 18 08:49:21 2020project name:logarithm_vs_exponential@author: 帅帅de三叔"""import math import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.axisartist as axisartist #导入坐标轴加工模块plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False fig=plt.figure(figsize=(6,4)) #新建画布ax=axisartist.Subplot(fig,111) #使用axisartist.Subplot方法创建一个绘图区对象axfig.add_axes(ax) #将绘图区对象添加到画布中 def logarithm_func(x, a=2): #定义指数函数 y=math.log(x, a) return y def exponential_func(x, a=2): #定义指数函数 y=math.pow(a, x) return y X=np.linspace(0.01, 4, 100) #构造自变量组Y=[logarithm_func(x) for x in X] #求函数值ax.plot(X, Y, label='对数函数') #绘制指数函数ax.scatter(1, 0, color='red') X1=np.linspace(-4, 4, 100)Y1=[exponential_func(x) for x in X1]ax.plot(X1, Y1, label='指数函数')ax.scatter(0, 1, color='red') ax.plot(X1, X1, color='green', label=r'$y=x$')plt.legend(loc=2)plt.show() print(max(X), max(Y)) #测试一下自变量最大值和因变量最大值,为后面的坐标轴设置依据ax.axis[:].set_visible(False) #隐藏原来的实线矩形ax.axis["x"]=ax.new_floating_axis(0, 0, axis_direction="bottom") #添加x轴ax.axis["y"]=ax.new_floating_axis(1, 0, axis_direction="bottom") #添加y轴 ax.axis["x"].set_axisline_style("-|>", size=1.0) #给x坐标轴加箭头ax.axis["y"].set_axisline_style("-|>", size=1.0) #给y坐标轴加箭头 ax.annotate(s='x', xy=(max(X), 0), xytext=(max(X)+1, 0.3)) #标注x轴ax.annotate(s='y', xy=(0, 1.0), xytext=(-0.2, 5)) #标注y轴 plt.xlim(-5, 5) #设置横坐标范围plt.ylim(-5, 5) #设置纵坐标范围X_lim=np.arange(-4, 4, 1)ax.set_xticks(X_lim) #设置x轴刻度Y_lim=np.arange(-4, 4, 1)ax.set_yticks(Y_lim) #设置y轴刻度 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |